import { Entity, PrimaryGeneratedColumn, Column } from 'typeorm';

/** 单个奖项的类型定义 */
export class LotteryItem {
  id: number; // 奖项唯一ID
  text: string; // 奖项名称（如“200元”）
  probability: number; // 概率值
  isSpecial: boolean; // 是否为特殊奖项
}

/** 抽奖配置主实体 */
@Entity('lottery_config')
export class LotteryConfig {
  @PrimaryGeneratedColumn()
  id: number; // 配置唯一ID

  @Column({ type: 'json', comment: '奖项列表' })
  items: LotteryItem[];

  @Column({
    type: 'int',
    default: 10,
    comment: '抽奖时长（秒）'
  })
  drawDuration: number;

  // 新增：控制配置是否显示（true=显示，false=隐藏）
  @Column({
    type: 'boolean',
    default: true,
    comment: '是否显示该配置'
  })
  isShow: boolean;

  // 新增：背景图（URL）
  @Column({
    type: 'varchar',
    length: 500,
    nullable: true,
    comment: '背景图地址'
  })
  bgImage: string;

  // 新增：其他图片（URL）
  @Column({
    type: 'varchar',
    length: 500,
    nullable: true,
    comment: '其他图片地址'
  })
  otherImage: string;

  @Column({
    type: 'timestamp',
    default: () => 'CURRENT_TIMESTAMP',
    comment: '创建时间'
  })
  createdAt: Date;

  @Column({
    type: 'timestamp',
    default: () => 'CURRENT_TIMESTAMP',
    onUpdate: 'CURRENT_TIMESTAMP',
    comment: '更新时间'
  })
  updatedAt: Date;
}